home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mm / mm-0.90 / address.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-18  |  1.5 KB  |  66 lines

  1. /*
  2.  * Copyright (c) 1986, 1990 by The Trustees of Columbia University in
  3.  * the City of New York.  Permission is granted to any individual or
  4.  * institution to use, copy, or redistribute this software so long as it
  5.  * is not sold for profit, provided this copyright notice is retained.
  6.  */
  7.  
  8. #ifndef __ADDRESS
  9. #define __ADDRESS
  10.  
  11. #ifdef RCSID
  12. #ifndef lint
  13. static char *addr_rcsid = "$Header: /f/src2/encore.bin/cucca/mm/tarring-it-up/RCS/address.h,v 2.1 90/10/04 18:23:25 melissa Exp $";
  14. #endif
  15. #endif /* RCSID */
  16.  
  17. /*
  18.  * parse for RFC822 mail addresses.
  19.  */
  20.  
  21. /* 
  22.  * an entry in an address list can be a comment, a phrase: to start a 
  23.  * list, a group end, or an actual address.  Keep these all chained in a list.
  24.  * one of these is an address unit.
  25.  */
  26. typedef struct addr_unit {
  27.     int type;
  28.     char *data;
  29.     struct addr_unit *next, *prev;
  30. } addr_unit;
  31.  
  32. typedef struct addresslist {
  33.     addr_unit *first;
  34.     addr_unit *last;
  35. } addresslist;
  36.  
  37. #define ADR_ADDRESS 1
  38. #define ADR_GROUP 2
  39. #define ADR_GROUPEND 3
  40. #define ADR_FILE 4
  41. #define ADR_ALIAS 5
  42. #define ADR_AL_EXPAND 6
  43. #define ADR_LISTFILE 7
  44. #define ADR_MLIST 8
  45.  
  46.  
  47. /* types of mail aliases */
  48. #define MA_USER        0        /* user set alias, needs to be saved */
  49. #define MA_SYSTEM    1        /* aliases from system init file */
  50. #define MA_MAILRC    2        /* Mail alias from .mailrc */
  51.  
  52. typedef struct mail_alias {
  53.     char *name;
  54.     addresslist alias;
  55.     int type;                /* type of alias */
  56. } mail_alias;
  57.  
  58.  
  59. typedef struct mail_aliases {
  60.     mail_alias *aliases;
  61.     int count;
  62. } Mail_aliases;
  63.  
  64. #endif /* __ADDRESS */
  65.  
  66.